//
//  YFMMDrawerStateManager.h
//  SquashSpark
//
//  Created by Coollang on 2017/10/26.
//  Copyright © 2017年 Coollang-YF. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <MMDrawerController/MMDrawerController.h>
#import "YFMenuViewController.h"

extern NSString * const kChangeCenterViewControllerNoti;

typedef NS_ENUM(NSInteger, MMDrawerAnimationType){
    MMDrawerAnimationTypeNone,
    MMDrawerAnimationTypeSlide,
    MMDrawerAnimationTypeSlideAndScale,
    MMDrawerAnimationTypeSwingingDoor,
    MMDrawerAnimationTypeParallax,
};

@interface YFMMDrawerStateManager : NSObject

@property (nonatomic,assign) MMDrawerAnimationType leftDrawerAnimationType;
@property (nonatomic,assign) MMDrawerAnimationType rightDrawerAnimationType;

@property (nonatomic, strong) MMDrawerController *drawerController;
/** 左侧控制器 */
@property (nonatomic, strong) YFMenuViewController *menuController;

/** 左侧控制展开的进度 */
@property (nonatomic, assign)CGFloat leftControllerPercentVisible;

/** 右侧控制展开的进度 */
@property (nonatomic, assign)CGFloat rightControllerPercentVisible;

+ (YFMMDrawerStateManager *)sharedManager;

- (MMDrawerController *)FetchDrawerController;

-(MMDrawerControllerDrawerVisualStateBlock)drawerVisualStateBlockForDrawerSide:(MMDrawerSide)drawerSide;

@end
